package ve.com.wayoyo.wuml_case.DibujoDiagramas;

import ve.com.wayoyo.wuml_case.Alert;
import ve.com.wayoyo.wuml_case.ER_TDA;
import ve.com.wayoyo.wuml_case.GestionTDA;
import ve.com.wayoyo.wuml_case.R;
import ve.com.wayoyo.wuml_case.UserPref;
import ve.com.wayoyo.wuml_case.Exceptions.AtributoERException;
import ve.com.wayoyo.wuml_case.Exceptions.TipoDatoException;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;

public class DialogoNuevoTDA extends Dialog implements DialogoGuardar {

	private ER_TDA _TDA_Actual;

	private Spinner s;

	public DialogoNuevoTDA(Context context) {
		super(context);
		this._TDA_Actual = new ER_TDA();
	}

	public void guardar() {
		// TODO Auto-generated method stub

	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tda_entidad_layout);
		setCanceledOnTouchOutside(true);
		setTitle("Nuevo TDA");
		GestionTDA tda = new GestionTDA();
		s = (Spinner) findViewById(R.id.sp_tipo_dato);
		tda.setTipoDato(s, this);
		this.SetAtr();
		this.setAgregarFuntion();

	}

	private void setAgregarFuntion() {
		Button bt_agregar = (Button) findViewById(R.id.btAtributo);
		bt_agregar.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				try {
					EditText nombreAtributo = (EditText) findViewById(R.id.TDA_Atributo_Nombre);
					String nombre = nombreAtributo.getText().toString();
					String tipoDato = s.getSelectedItem().toString();
					CompAtributoER atributo = new CompAtributoER(nombre);
					try {
						atributo.setTipoDato(tipoDato);
					} catch (TipoDatoException e) {
						Confirmacion conf = new Confirmacion(getContext(),
								DialogoNuevoTDA.this, tipoDato);
						conf.show();
					}

					get_TDA().Add_Atrib(atributo);

				} catch (AtributoERException AtrE) {
					Alert.show(AtrE.getMessage(), DialogoNuevoTDA.this,
							Alert.ERROR);
				}
			}
		});
	}

	private ER_TDA get_TDA() {
		return this._TDA_Actual;
	}

	private void SetAtr() {
		LinearLayout TDA_Atr = (LinearLayout) findViewById(R.id.listAtributos);
		for (CompAtributoER compAtributoER : this._TDA_Actual.getList_Atrib()) {
			LinearLayout actual = new LinearLayout(getContext());
			TextView texto = new TextView(getContext());
			texto.setText("Nombre:");
			actual.addView(texto);
			texto = new TextView(getContext());
			texto.setText(compAtributoER.getNombreVariable());
			actual.addView(texto);
			texto = new TextView(getContext());
			texto.setText("\t Tipo de Dato");
			actual.addView(texto);
			texto = new TextView(getContext());
			texto.setText(compAtributoER.getTipoDato());
			actual.addView(texto);
			TDA_Atr.addView(actual);
		}

	}

}
